package com.ruoyi.swla2.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 大日冻结数据对象 dm_terminals_freeze
 *
 * @author gdqt
 * @date 2023-08-30
 */
public class TerminalsFreeze extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 设备归属租户
     */
    @Excel(name = "设备归属租户")
    private String tenantId;

    /**
     * 设备编号
     */
    @Excel(name = "设备编号")
    private String TerminalID;

    private String TerminalName;

    /**
     * 净累计量
     */
    @Excel(name = "净累计量")
    private BigDecimal cumulativeFlow;

    /**
     * 正向流量
     */
    @Excel(name = "正向流量")
    private BigDecimal forwardFlow;

    /**
     * 反向流量
     */
    @Excel(name = "反向流量")
    private BigDecimal reverseFlow;

    /**
     * 夜间流量
     */
    @Excel(name = "夜间流量")
    private BigDecimal nightFlow;

    /**
     * 瞬时流量（日平均）
     */
    @Excel(name = "瞬时流量", readConverterExp = "日=平均")
    private BigDecimal instantFlow;

    /**
     * 管网压力（日平均）
     */
    @Excel(name = "管网压力", readConverterExp = "日=平均")
    private BigDecimal pipePressure;

    /**
     * 管网压力（夜间日平均）
     */
    @Excel(name = "管网压力", readConverterExp = "夜=间日平均")
    private BigDecimal pipeNpressure;

    /**
     * 管网夜间最小压力
     */
    @Excel(name = "管网夜间最小压力")
    private BigDecimal pipeMinpressure;

    /**
     * 冻结时间（日）
     */
    @Excel(name = "冻结时间", readConverterExp = "日=")
    private String FreezeTime;

    /**
     * 电压（日平均）
     */
    @Excel(name = "电压", readConverterExp = "日=平均")
    private BigDecimal batteryVoltage;

    /**
     * 前7天日平均总用量
     */
    @Excel(name = "前7天日平均总用量")
    private BigDecimal avgCumulativeFlow;

    /**
     * 前7天日平均瞬时流量
     */
    @Excel(name = "前7天日平均瞬时流量")
    private BigDecimal avgInstantFlow;

    /**
     * 前7天日平均压力
     */
    @Excel(name = "前7天日平均压力")
    private BigDecimal avgPipePressure;

    /**
     * 是否手动插入
     */
    @Excel(name = "是否手动插入")
    private Integer IFtype;

    /**
     * 插入时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "插入时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sysDate;

    /**
     * 冻结类型，日：day，月：month
     */
    @Excel(name = "冻结类型，日：day，月：month")
    private String frozenType;

    /**
     * 平台表单自增主键
     */
    @Excel(name = "平台表单自增主键")
    private Long ID;

    private String Remark;

    /**
     * 数据标记(0为正常数据,1为通过统计获取的)
     */
    private Integer mark;

//    private Terminals terminals;

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTerminalID(String TerminalID) {
        this.TerminalID = TerminalID;
    }

    public String getTerminalID() {
        return TerminalID;
    }

    public void setCumulativeFlow(BigDecimal cumulativeFlow) {
        this.cumulativeFlow = cumulativeFlow;
    }

    public BigDecimal getCumulativeFlow() {
        return cumulativeFlow;
    }

    public void setForwardFlow(BigDecimal forwardFlow) {
        this.forwardFlow = forwardFlow;
    }

    public BigDecimal getForwardFlow() {
        return forwardFlow;
    }

    public void setReverseFlow(BigDecimal reverseFlow) {
        this.reverseFlow = reverseFlow;
    }

    public BigDecimal getReverseFlow() {
        return reverseFlow;
    }

    public void setNightFlow(BigDecimal nightFlow) {
        this.nightFlow = nightFlow;
    }

    public BigDecimal getNightFlow() {
        return nightFlow;
    }

    public void setInstantFlow(BigDecimal instantFlow) {
        this.instantFlow = instantFlow;
    }

    public BigDecimal getInstantFlow() {
        return instantFlow;
    }

    public void setPipePressure(BigDecimal pipePressure) {
        this.pipePressure = pipePressure;
    }

    public BigDecimal getPipePressure() {
        return pipePressure;
    }

    public void setPipeNpressure(BigDecimal pipeNpressure) {
        this.pipeNpressure = pipeNpressure;
    }

    public BigDecimal getPipeNpressure() {
        return pipeNpressure;
    }

    public void setPipeMinpressure(BigDecimal pipeMinpressure) {
        this.pipeMinpressure = pipeMinpressure;
    }

    public BigDecimal getPipeMinpressure() {
        return pipeMinpressure;
    }

    public void setFreezeTime(String FreezeTime) {
        this.FreezeTime = FreezeTime;
    }

    public String getFreezeTime() {
        return FreezeTime;
    }

    public void setBatteryVoltage(BigDecimal batteryVoltage) {
        this.batteryVoltage = batteryVoltage;
    }

    public BigDecimal getBatteryVoltage() {
        return batteryVoltage;
    }

    public void setAvgCumulativeFlow(BigDecimal avgCumulativeFlow) {
        this.avgCumulativeFlow = avgCumulativeFlow;
    }

    public BigDecimal getAvgCumulativeFlow() {
        return avgCumulativeFlow;
    }

    public void setAvgInstantFlow(BigDecimal avgInstantFlow) {
        this.avgInstantFlow = avgInstantFlow;
    }

    public BigDecimal getAvgInstantFlow() {
        return avgInstantFlow;
    }

    public void setAvgPipePressure(BigDecimal avgPipePressure) {
        this.avgPipePressure = avgPipePressure;
    }

    public BigDecimal getAvgPipePressure() {
        return avgPipePressure;
    }

    public void setIFtype(Integer IFtype) {
        this.IFtype = IFtype;
    }

    public Integer getIFtype() {
        return IFtype;
    }

    public void setSysDate(Date sysDate) {
        this.sysDate = sysDate;
    }

    public Date getSysDate() {
        return sysDate;
    }

    public void setFrozenType(String frozenType) {
        this.frozenType = frozenType;
    }

    public String getFrozenType() {
        return frozenType;
    }

    public void setID(Long ID) {
        this.ID = ID;
    }

    public Long getID() {
        return ID;
    }

    @Override
    public String getRemark() {
        return Remark;
    }

    @Override
    public void setRemark(String remark) {
        Remark = remark;
    }

    public Integer getMark() {
        return mark;
    }

    public void setMark(Integer mark) {
        this.mark = mark;
    }

    //    public Terminals getTerminals() {
//        return terminals;
//    }
//
//    public void setTerminals(Terminals terminals) {
//        this.terminals = terminals;
//    }

    public String getTerminalName() {
        return TerminalName;
    }

    public void setTerminalName(String terminalName) {
        TerminalName = terminalName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("tenantId", getTenantId())
                .append("TerminalID", getTerminalID())
                .append("cumulativeFlow", getCumulativeFlow())
                .append("forwardFlow", getForwardFlow())
                .append("reverseFlow", getReverseFlow())
                .append("nightFlow", getNightFlow())
                .append("instantFlow", getInstantFlow())
                .append("pipePressure", getPipePressure())
                .append("pipeNpressure", getPipeNpressure())
                .append("pipeMinpressure", getPipeMinpressure())
                .append("FreezeTime", getFreezeTime())
                .append("batteryVoltage", getBatteryVoltage())
                .append("avgCumulativeFlow", getAvgCumulativeFlow())
                .append("avgInstantFlow", getAvgInstantFlow())
                .append("avgPipePressure", getAvgPipePressure())
                .append("IFtype", getIFtype())
                .append("Remark", getRemark())
                .append("sysDate", getSysDate())
                .append("frozenType", getFrozenType())
                .append("ID", getID())
                .toString();
    }
}
